EIQ分析に基づくAI予測モデルの作成・学習・予測システム
本システムは、EIQ分析(Entry-Item-Quantity分析)の手法を用いて 出荷データからAI予測モデルを構築するWindows Formsアプリケーションです。
出荷先数(E)とアイテム数(I)を入力として、 バラ数量・行数・EIQ指標・ケース数・PL数・容積・重量など約160項目を SDCA回帰(Microsoft.ML)で予測します。
| ファイル | クラス / モジュール | 役割 |
|---|---|---|
E0_メニュー画面.vb |
E0_メニュー画面F | メインメニュー。各処理画面への遷移とDB状態確認 |
E1_データ前処理.vb |
EIQ_AIモデル前処理F | 出荷データ取込・区分換算・EIQランク作成・T200テーブル作成 |
E2_モデルデータ設定.vb |
モデルデータ設定F | E/I比率・ピッチ設定、T300_進行テーブル管理、E3画面への遷移 |
E3_モデルデータ作成.vb |
E3_モデルデータ作成F | T300_進行に基づくT600_データモデル作成(バッチ処理) |
E4_機械学習.vb |
E4_機械学習F | Microsoft.MLによるモデル訓練・予測実行・結果エクスポート |
EIQ_AI実証及び検証Pro.vb |
EIQ_AI実証及び検証Pro | AI実証及び検証(将来拡張用) |
K1.vb |
Module K1 | グローバル変数・定数・ファイルパス管理 |
AccessDbManager.vb |
AccessDbManager | Accessデータベース新規作成・Excelインポート |
Access操作.vb |
— | SQL実行ヘルパー、テーブル操作共通処理 |
テーブル構造確認.vb |
— | テーブル構造の確認・診断ユーティリティ |
E0_メニュー画面Fアプリケーション起動時のエントリポイントです。
EIQ_AIモデル.accdb の存在確認、T200テーブルの有無・種類(リンク or ローカル)・レコード数を表示EIQ_AIモデル前処理F出荷データの取込からEIQ分析用のT200テーブル作成までを行います。
| 処理 | 内容 | 生成テーブル |
|---|---|---|
| Access新規作成 | EIQ_AIモデル.accdbを新規作成 | — |
| Accessインポート | 出荷データ.xlsxをAccessにインポート | T000_出荷データ |
| T110_区分換算 | T100_Data作成、区分換算テーブル作成、各換算計算、出荷単位区分 | T100_Data, T110_区分換算 |
| T200作成_EIQデータ加工 | ケース出荷/バラ出荷のEIランク集計、T180_EIQランク、T200テーブル統合 | T150_*, T180_EIQランク, T200 |
| 全出荷GPLランク | 全出荷GPLのE/Iランク作成、T200に列追加 | T160_全出荷E集計, T160_全出荷I集計 |
モデルデータ設定FAIモデル学習用データの生成パラメータを設定します。
| パラメータ | 範囲 | 説明 |
|---|---|---|
| E最小比率 / E最大比率 | 50% 〜 150% | 出荷先数の変動範囲(正規値に対する比率) |
| I最小比率 / I最大比率 | 50% 〜 150% | アイテム数の変動範囲(正規値に対する比率) |
| レコードピッチ | 1 〜 20(既定 5.9) | 生成レコードの間隔(細かいほどデータ密度が高い) |
E3_モデルデータ作成FT300_進行テーブルの未処理レコードを順次処理し、T600_データモデルテーブルにデータを格納します。
| カテゴリ | フィールド | 数 |
|---|---|---|
| 基本情報 | モデル連番, 出荷先数, アイテム数, バラ数量, 行数 | 5 |
| E指標 | E1 〜 E5 | 5 |
| I指標 | I1 〜 I5 | 5 |
| 行数ランク別 | 行数01 〜 行数25 | 25 |
| バラ数ランク別 | バラ数01 〜 バラ数25 | 25 |
| ケース数ランク別 | ケース01 〜 ケース25 | 25 |
| PL数ランク別 | PL01 〜 PL25 | 25 |
| 容積ランク別 | 容積01 〜 容積25 | 25 |
| 重量ランク別 | 重量01 〜 重量25 | 25 |
作成Chkフラグで管理されるため、
途中で中断しても次回は未処理レコードから継続できます。
キーボード割り込み(GetAsyncKeyState API)による中断機能も搭載しています。
E4_機械学習FMicrosoft.MLライブラリを用いた回帰モデルの訓練と予測を行います。
| 機能 | 説明 |
|---|---|
| データ読込 | データモデル.csvをLoadFromTextFileで読込、件数を表示 |
| 機械学習実行 | 各出力フィールドごとにSDCA回帰モデルを訓練し、Models/フォルダに.zip形式で保存 |
| 学習済モデル読込 | 保存済み.zipモデルを一括読込(再学習不要で予測可能) |
| 予測実行 | 出荷先数・アイテム数を入力 → 全モデルで予測 → DataGridViewに結果表示 |
| 結果エクスポート | 予測結果を予測結果.csvとしてUTF-8で出力 |
| 種別 | 項目 |
|---|---|
| 入力(説明変数) | 出荷先数, アイテム数 |
| 出力(目的変数) | バラ数量, 行数, E1-E5, I1-I5, 行数01-25, バラ数01-25, ケース01-25, PL01-25, 容積01-25, 重量01-25 (計 約160項目 × 各1モデル) |
データベース: Tera計算Data\EIQ分析AI化\EIQ_AIモデル.accdb(Microsoft Access)
| テーブル | 作成元 | 用途 |
|---|---|---|
T000_出荷データ | E1(Excelインポート) | 出荷データ原本 |
T100_Data | E1 | 基本出荷データ(行連番付き) |
T110_区分換算 | E1 | 出荷区分に基づく換算データ |
T150_C/B単位出荷E/I集計 | E1 | ケース/バラ出荷別のEI集計とABCランク |
T160_全出荷E/I集計 | E1 | 全出荷GPLランク(E/I別) |
T180_EIQランク | E1 | EIQランク統合テーブル(CE/CI/BE/BI) |
T200 | E1 | EIQ分析加工済みデータ(全ランク・指標統合) |
T300_進行 | E2 | モデルデータ作成の進行管理(連番・設定値・作成Chk) |
T600_データモデル | E3 | AI学習用モデルデータ(165フィールド) |
| 項目 | 要件 |
|---|---|
| フレームワーク | .NET Framework 4.8 |
| 言語 | VB.NET(Windows Forms) |
| 主要ライブラリ | Microsoft.ML(SDCA回帰), ClosedXML, ADOX, Microsoft.Office.Interop.Access |
| データベース | Microsoft Access(ACE OLEDB 12.0) |
| データ保存先 | 任意ドライブの Tera計算Data フォルダ(A:〜F: を自動検索) |
| 必要ファイル | Tera計算Data\EIQ分析AI化\出荷データ.xlsx(出荷データから作成時) |
K1.vb の ファイル確認() メソッドが A: 〜 F: ドライブを走査し、
Tera計算Data フォルダを自動検出します。
複数ドライブに存在する場合はエラーとなります。
EIQ_AIモデル作成 — README1.html